package com.yh.patterns.singleton.demo7;

import java.io.*;

/**
 * @Auther:云尚学Java
 *
 * 测试使用序列化破坏单例模式
 *
 * 桌面路径："C:\Users\admin\Desktop\a.txt"
 */
public class Client {
    public static void main(String[] args) throws Exception {
        //writeObject2File();
        readObjectFromFile();
        readObjectFromFile();
    }
    //从文件中读取数据（对象）
    public static void readObjectFromFile() throws Exception {
        //1.创建输入流对象
        ObjectInputStream ois=new ObjectInputStream(new FileInputStream("C:\\Users\\admin\\Desktop\\a.txt"));
        //2.读取对象
        Singleton instance = (Singleton) ois.readObject();
        System.out.println(instance);
        //3.释放资源
        ois.close();
    }

    //向文件中写数据（对象）
    public static void writeObject2File() throws Exception {
        //1.获取Singleton的对象
        Singleton instance = Singleton.getInstance();
        //2.创建对象输出流对象
        ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("C:\\Users\\admin\\Desktop\\a.txt"));
        //3.写对象
        oos.writeObject(instance);
        //4.释放资源
        oos.close();
    }
}
